package com.baor.service.impl;

import com.baor.dao.HdDd;
import com.baor.domain.Equipment_abnormality;
import com.baor.domain.Hddd;
import com.baor.domain.HdddCustomerDTO;
import com.baor.service.HdddService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baor.domain.CustomerVO;
@Service
public class HdddServiceimpl implements HdddService {
    @Autowired
    private HdDd hdDd;
    @Override
    public List<HdddCustomerDTO> hddlist() {

        MPJLambdaWrapper<Hddd> wrapper = new MPJLambdaWrapper<>(Hddd.class)

                .leftJoin(CustomerVO.class, CustomerVO::getId, Hddd::getUserId)

                .select(
                        Hddd::getOrderNo,
                        Hddd::getUserId,
                        Hddd::getAmount,
                        Hddd::getPaidAt,
                        Hddd::getActivityName,
                        Hddd::getStatus
                )

                .select(
                        CustomerVO::getPhone,
                        CustomerVO::getIdCard,
                        CustomerVO::getRealname
                );


        return hdDd.selectJoinList(HdddCustomerDTO.class, wrapper);
    }

    @Override
    public List<HdddCustomerDTO> findByPhoneAndName(String key) {
        MPJLambdaWrapper<Hddd> wrapper = new MPJLambdaWrapper<>(Hddd.class)

                .leftJoin(CustomerVO.class, CustomerVO::getId, Hddd::getUserId)

                .or()
                .eq(CustomerVO::getPhone, key)
                .or()
                .eq(CustomerVO::getIdCard, key)

                .select(

                       // Hddd::getId,
                        Hddd::getOrderNo,
                        Hddd::getUserId,
                        Hddd::getAmount,
                        Hddd::getPaidAt,
                        Hddd::getActivityName,
                        Hddd::getStatus
                        //Hddd::getCreatedAt,
                       // Hddd::getUpdatedAt,
                        //Hddd::getIsDeleted
                )

                //CustomerVO.class,
                .select(
                        CustomerVO::getPhone,
                        CustomerVO::getIdCard,
                        CustomerVO::getRealname
                );


        return hdDd.selectJoinList(HdddCustomerDTO.class, wrapper);
    }
}
